<!DOCTYPE html>

<html data-theme="dark" lang="zh-CN">
<head><meta name="description" content="Ruotong Music · 5000 首精选｜快到像搜索想法｜若通音乐 - 若通音乐（Ruotong Music）。页面：index-v2。高品质商用音乐与音效，授权便捷，企业合作支持。">
<script nonce="PTmeLkKzqoeoT9hZKU_mwA">
   /* rt-pre-theme */
(function(){
  try{
    var t = localStorage.getItem('theme');
    if(!t){ t = (window.matchMedia && matchMedia('(prefers-color-scheme: dark)').matches) ? 'dark' : 'light'; }
    document.documentElement.setAttribute('data-theme', t);
  }catch(e){}
})();
  </script>
<meta content="default-src 'self'; script-src 'self' https://www.googletagmanager.com https://unpkg.com 'nonce-PTmeLkKzqoeoT9hZKU_mwA' 'strict-dynamic' 'report-sample'; style-src 'self' 'unsafe-inline' 'report-sample'; img-src 'self' data: https: blob:; font-src 'self' data: https:; connect-src 'self' https:; frame-src 'self' https:; object-src 'none'; base-uri 'self'; frame-ancestors 'none'; upgrade-insecure-requests" http-equiv="Content-Security-Policy"/>
<meta charset="utf-8"/>
<meta content="width=device-width, initial-scale=1" name="viewport"/>
<title>
   Ruotong Music · 5000 首精选｜快到像搜索想法｜若通音乐
  </title>
<meta content="若通音乐：高品质商用音乐与音效平台，提供 BPM/Key、版本剪辑与分轨 Stems，波形预览与智能搜索，适用广告、短视频、影视与游戏制作。" name="description"/>
<meta content="light dark" name="color-scheme"/>
<meta content="#0b1220" media="(prefers-color-scheme: dark)" name="theme-color"/>
<meta content="#ffffff" media="(prefers-color-scheme: light)" name="theme-color"/>
<meta content="strict-origin-when-cross-origin" http-equiv="Referrer-Policy"/>
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>
<link href="https://unpkg.com" rel="dns-prefetch"/>
<link crossorigin="" href="https://unpkg.com" rel="preconnect"/>
<link href="search.html" rel="prefetch"/>
<link href="pricing.html" rel="prefetch"/>





<script nonce="PTmeLkKzqoeoT9hZKU_mwA">
   // 小白提示：这段脚本尽量放在 <head> 里最前面执行，保证页面一出现就是正确主题
    (function () {
      try {
        const saved = localStorage.getItem('theme');
        const systemDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
        const theme = saved || (systemDark ? 'dark' : 'light');
        document.documentElement.dataset.theme = theme;
      } catch (e) { /* 忽略 */ }
    })();
  </script>
<style>
   /* 轻量内联样式：用于性能增强与可访问性优化 */
    .cv-auto { content-visibility: auto; contain-intrinsic-size: 1px 1000px; }
    .skip-link {
      position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden;
    }
    .skip-link:focus {
      position: static; width: auto; height: auto; padding: 8px 12px; background: #111; color: #fff; z-index: 9999;
    }
  </style>






<style>
   /* a11y helpers */
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;z-index:10000;padding:10px 14px;background:#000;color:#fff;border-radius:6px;}
.visually-hidden{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden;white-space:nowrap;}
  </style>
<link href="index-v2.html" rel="canonical"/>
<meta content="website" property="og:type"/>
<meta content="Ruotong Music" property="og:site_name"/>
<meta content="Ruotong Music · 5000 首精选｜快到像搜索想法｜若通音乐" property="og:title"/>
<meta content="若通音乐：高品质商用音乐与音效平台，提供 BPM/Key、版本剪辑与分轨 Stems，波形预览与智能搜索，适用广告、短视频、影视与游戏制作。" property="og:description"/>
<meta content="/" property="og:url"/>
<meta content="https://www.ruotongmusic.com/assets/og/cover.webp" property="og:image"/>
<meta content="summary_large_image" name="twitter:card"/>
<meta content="Ruotong Music · 5000 首精选｜快到像搜索想法" name="twitter:title"/>
<meta content="5000 首精挑细选的商用音乐。场景 / 情绪 / 用途 / 乐器任意组合，极速检索，一键授权。" name="twitter:description"/>
<meta content="https://www.ruotongmusic.com/static/og-cover.png" name="twitter:image"/>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" type="application/ld+json">
   {"@context": "https://schema.org", "@type": "Organization", "name": "若通音乐", "url": "https://www.ruotongmusic.com", "logo": "https://www.ruotongmusic.com/assets/og/cover.webp"}
  </script>
<link href="/site.webmanifest" rel="manifest"/>
<meta content="strict-origin-when-cross-origin" name="referrer"/>

<style>
   .hero-hot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;justify-content:center}
      .hero-hot .label{font-size:12px;color:var(--muted)}
      .hero-hot .chip{font-size:12px}
  </style>
<link href="index-v2.html" hreflang="zh-CN" rel="alternate"/>
<link href="/?lang=en" hreflang="en-US" rel="alternate"/>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" type="application/ld+json">
   {"@context": "https://schema.org", "@type": "WebSite", "name": "若通音乐", "url": "https://www.ruotongmusic.com", "potentialAction": {"@type": "SearchAction", "target": "https://www.ruotongmusic.com/search.html?q={query}", "query-input": "required name=query"}}
  </script>
<script async="True" crossorigin="anonymous" nonce="PTmeLkKzqoeoT9hZKU_mwA" src="https://www.googletagmanager.com/gtag/js?id=G-XXXX123456">
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA">
   window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js',new Date());gtag('config','G-XXXX123456');
  </script>

<meta content="dark light" name="color-scheme"/>
<script defer="True" nonce="PTmeLkKzqoeoT9hZKU_mwA" src="../assets/js/theme-init.js">
</script>




<link href="//unpkg.com" rel="dns-prefetch"/>
<link href="//www.googletagmanager.com" rel="dns-prefetch"/>
<link crossorigin="anonymous" href="https://www.googletagmanager.com" rel="preconnect"/>
<link href="//www.ruotongmusic.com" rel="dns-prefetch"/>
<link crossorigin="anonymous" href="https://www.ruotongmusic.com" rel="preconnect"/>




<link href="/assets/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
<meta content="zh_CN" property="og:locale"/>


<!-- Favicon -->
<link href="/assets/favicon.svg" rel="icon" type="image/svg+xml"/>
<link href="/assets/favicon.ico" rel="icon" sizes="any"/>
<link href="/assets/favicon.png" rel="apple-touch-icon" sizes="180x180"/>

<link href="/assets/favicon-32.png" rel="icon" sizes="32x32" type="image/png"/>
<link href="/assets/favicon-16.png" rel="icon" sizes="16x16" type="image/png"/>
<link href="https://unpkg.com" rel="preconnect"/>
<link href="https://www.googletagmanager.com" rel="preconnect"/>
<link href="/zh/" hreflang="zh" rel="alternate"/><link href="/en/" hreflang="en" rel="alternate"/><link href="/ja/" hreflang="ja" rel="alternate"/>







<link rel="stylesheet" href="../assets/css/index-v2.min.css">
</head>
<body>
<style>
.skip-to-content{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-to-content:focus{left:16px;top:16px;width:auto;height:auto;z-index:10000;background:#fff;padding:8px 12px;border:1px solid #000;}
:focus-visible{outline:2px solid currentColor;outline-offset:2px;}
</style>
<a class="skip-to-content" href="#main">跳转到主内容</a>


<a class="skip-link" href="#main-content">
   跳到主要内容
  </a>
<a class="skip-link" href="#main">
   跳到主要内容
  </a>
<div aria-live="polite" class="announce" role="status">
<span class="badge">
    5000 精选
   </span>
   新增
   <strong>
    每周 100+
   </strong>
   首 · 永久无版权纠纷 · 支持 企业/品牌/短视频/游戏/影视
  </div>
<header class="header" role="banner">
<div class="container row">
<a aria-label="Ruotong Music 首页" class="logo" href="index-v2.html">
<img alt="Ruotong Music" decoding="async" fetchpriority="high" height="26" loading="eager" src="assets/logo.svg" width="26"/>
<strong>
      Ruotong Music
     </strong>
</a>
<nav aria-label="主导航">
<a aria-current="page" href="index-v2.html">
      音乐
     </a>
<a href="collections.html">
      合集
     </a>
<a href="pricing.html">
      价格
     </a>
<a href="support.html">
      支持
     </a>
</nav>
<div class="grow">
</div>
<div class="actions">
<button aria-label="切换明暗主题" aria-pressed="false" class="theme rt-theme-toggle icon-btn" id="rt-theme-toggle" type="button">
<svg aria-hidden="true" class="sun" height="16" viewbox="0 0 24 24" width="16">
<path d="M12 4a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0V5a1 1 0 0 1 1-1zm0 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm7-4a1 1 0 0 1 1 1 1 1 0 1 1-1 1h-1a1 1 0 1 1 0-2h1zM6 12a1 1 0 1 1-1 1H4a1 1 0 1 1 0-2h1a1 1 0 0 1 1 1zm12.657 5.657a1 1 0 0 1 0 1.414l-.707.707a1 1 0 1 1-1.414-1.414l.707-.707a1 1 0 0 1 1.414 0zM6.464 6.464a1 1 0 1 1-1.414-1.414l.707-.707A1 1 0 0 1 7.171 6.464l-.707.707zM12 18a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1zm7.071-12.728a1 1 0 0 1 0 1.414l-.707.707A1 1 0 0 1 16.95 6.95l.707-.707a1 1 0 0 1 1.414 0z" fill="currentColor">
</path>
</svg>
<svg aria-hidden="true" class="moon" height="16" style="display:none" viewbox="0 0 24 24" width="16">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z" fill="currentColor">
</path>
</svg>
<span class="rt-visually-hidden">
       切换主题
      </span>
</button>
<div class="input" role="search">
<svg aria-hidden="true" height="16" viewbox="0 0 24 24" width="16">
<path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.08-1.56 4.21l4.92 4.92-1.41 1.41-4.92-4.92A6.474 6.474 0 0 1 9.5 16 6.5 6.5 0 1 1 9.5 3m0 2A4.5 4.5 0 1 0 14 9.5 4.5 4.5 0 0 0 9.5 5z" fill="currentColor">
</path>
</svg>
<input aria-label="搜索音乐" autocapitalize="none" autocomplete="off" id="search-input" placeholder="搜索：场景 / 情绪 / 用途 / 乐器（Ctrl / ⌘ + K）" type="search"/>
<span aria-label="打开瞬搜指令盘" class="kbd" role="button" tabindex="0">
       Ctrl / ⌘ + K
      </span>
</div>
<button class="ghost" type="button">
      中文 / EN / 日本語
     </button>
<button class="ghost" type="button">
      登录
     </button>
<button class="btn" type="button">
      开始使用
     </button>
<a aria-label="个人主页" class="avatar-btn" href="account.html" title="个人主页">
<svg aria-hidden="true" height="32" viewbox="0 0 24 24" width="32">
<circle cx="12" cy="8" fill="currentColor" opacity=".85" r="4">
</circle>
<path d="M4 20c0-4 4-6 8-6s8 2 8 6" fill="currentColor" opacity=".45">
</path>
</svg>
</a>
</div>
</div>
</header>
<main id="main-content">
<section aria-label="网站首屏" class="hero hero--minimal">
<div class="container hero-min">
<div aria-label="品牌卖点与操作" class="hero-min__content" role="group">
<h1>
       一搜即得即刻可用
      </h1>
<form aria-label="站内音乐搜索" class="hero-search" id="heroSearchForm" method="get" role="search">
<div class="hero-search__wrap">
<input aria-label="搜索音乐" autocomplete="off" id="heroSearchInput" name="q" placeholder="搜索关键词，回车" type="search"/>
<button aria-label="搜索" type="submit">
         🔍
        </button>
</div>
</form>
<div aria-label="热门关键词" class="hero-hot">
<span class="label">
        热门
       </span>
<button class="chip" data-key="企业宣传" type="button">
        企业宣传
       </button>
<button class="chip" data-key="日系治愈" type="button">
        日系治愈
       </button>
<button class="chip" data-key="Vlog" type="button">
        Vlog
       </button>
<button class="chip" data-key="预告片" type="button">
        预告片
       </button>
<button class="chip" data-key="纪录片" type="button">
        纪录片
       </button>
<button class="chip" data-key="温暖钢琴" type="button">
        温暖钢琴
       </button>
<button class="chip" data-key="科技" type="button">
        科技
       </button>
<button class="chip" data-key="悬疑" type="button">
        悬疑
       </button>
<button class="chip" data-key="和风" type="button">
        和风
       </button>
<button class="chip" data-key="氛围" type="button">
        氛围
       </button>
</div>
<div class="actions">
<a class="btn primary" href="search.html">
        浏览音乐
       </a>
<a class="btn ghost" href="sfx.html">
        进入音效库
       </a>
</div>
<ul aria-label="信赖信息" class="hero-min__meta">
<li>
        正版授权
       </li>
<li>
        支持发票
       </li>
<li>
        中文客服
       </li>
</ul>
</div>
</div>
</section>
<section aria-label="精选歌单" class="section container cv-auto">
<div class="row" style="height:auto; justify-content:space-between; align-items:flex-end">
<h2 style="margin:0">
      精选歌单
     </h2>
<a aria-label="全部歌单" class="btn ghost" href="themes.html" id="view-all-playlists">
      全部歌单
     </a>
</div>
<div aria-live="polite" class="grid cols-4 playlists" id="playlist-grid">
</div>
</section>
<section class="section container cv-auto">
<h2>
     精选曲目
    </h2>
<div class="tracks">
<table aria-describedby="tracks-note" class="table">
<thead>
<tr>
<th scope="col">
</th>
<th scope="col">
         标题
        </th>
<th scope="col">
         标签
        </th>
<th scope="col">
         BPM
        </th>
<th scope="col">
         时长
        </th>
<th scope="col">
         授权
        </th>
<th scope="col">
         操作
        </th>
</tr>
</thead>
<tbody id="track-body">
</tbody>
</table>
<div class="visually-hidden" id="tracks-note">
      你可以使用上方快速组合与搜索来筛选列表
     </div>
</div>
</section>
<section class="section container cv-auto">
<div class="license">
<div class="card">
<div class="label">
       授权一目了然
      </div>
<div style="display:flex; align-items:center; gap:10px; margin-bottom:10px">
<div aria-expanded="false" aria-haspopup="listbox" class="select" role="button">
        用途：短视频 / 品牌 / 游戏 / 影视
       </div>
<div aria-expanded="false" aria-haspopup="listbox" class="select" role="button">
        平台：全网 / YouTube / 抖音 / Bilibili
       </div>
<div aria-expanded="false" aria-haspopup="listbox" class="select" role="button">
        区域：全球 / 中国大陆 / 日本 / 北美
       </div>
<div aria-expanded="false" aria-haspopup="listbox" class="select" role="button">
        时长：≤60s / ≤90s / 全曲
       </div>
</div>
<div class="desc">
       实时生成授权条款与发票（支持抬头）。支持 YouTube/Twitch/Bilibili 白名单、订单对公与多成员共享凭证。
      </div>
</div>
<div class="card" style="display:flex; flex-direction:column; justify-content:center; align-items:flex-start;">
<div class="label">
       项目级保障
      </div>
<div style="font-size:28px; font-weight:800; margin:8px 0">
       0 版权风险
      </div>
<div class="desc">
       原创可溯源 · 全站一键授权 · 纠纷全额兜底
      </div>
<a class="btn primary" href="pricing.html" style="margin-top:12px">
       了解价格
      </a>
</div>
</div>
</section>
<section class="section container cv-auto">
<h2>
     被 2,000+ 团队信赖
    </h2>
<div class="grid cols-4">
<div class="card">
<div class="label">
       影视制作
      </div>
<div class="title">
       预告片 / 短剧
      </div>
<div class="desc">
       15s 起势 + 30s 递进 + 90s 结尾，多版本可选。
      </div>
</div>
<div class="card">
<div class="label">
       品牌营销
      </div>
<div class="title">
       TVC / 事件营销
      </div>
<div class="desc">
       稳定版权条款，支持法务快速审批。
      </div>
</div>
<div class="card">
<div class="label">
       内容创作
      </div>
<div class="title">
       短视频 / 直播 / 播客
      </div>
<div class="desc">
       无版权警告，平台白名单自动生效。
      </div>
</div>
<div class="card">
<div class="label">
       游戏与交互
      </div>
<div class="title">
       游戏内 / CG / 宣发
      </div>
<div class="desc">
       循环无缝衔接，提供 stems 与音效。
      </div>
</div>
</div>
</section>
</main>
<div class="player cv-auto">
<div class="container row">
<input aria-label="播放进度" class="seek" id="seek" max="1000" min="0" type="range" value="0"/>
<canvas aria-hidden="true" class="meter" height="10" id="meter" width="120">
</canvas>
<button aria-label="播放 / 暂停" class="icon-btn" id="btn-play" type="button">
<svg aria-hidden="true" height="16" viewbox="0 0 24 24" width="16">
<path d="M8 5v14l11-7z" fill="currentColor">
</path>
</svg>
</button>
<button aria-label="下一首" class="icon-btn" id="btn-skip" type="button">
<svg height="16" viewbox="0 0 24 24" width="16">
<path d="M6 18l8.5-6L6 6v12zm9-12h2v12h-2V6z" fill="currentColor">
</path>
</svg>
</button>
<div>
<div class="title" id="player-title">
      未选择曲目
     </div>
<div class="meta" id="player-meta">
      选择上方列表中的任意曲目即可播放
     </div>
<div class="wf-wrap" style="margin-top:8px; min-height:64px;">
<div class="waveform" id="waveform">
</div>
<div class="wave-timeline" id="wave-timeline">
</div>
</div>
</div>
<div class="right">
<button aria-label="Studio 参考监听" aria-pressed="false" class="pill" id="btn-hq" type="button">
      Studio
     </button>
<button aria-label="循环播放" aria-pressed="false" class="pill" id="btn-loop" type="button">
      循环
     </button>
<progress aria-label="缓冲进度" id="progress" max="100" value="0">
</progress>
<button class="btn ghost" type="button">
      收藏清单
     </button>
<button class="btn primary" type="button">
      一键授权
     </button>
</div>
</div>
</div>
<div aria-hidden="true" class="cmdk">
<div aria-labelledby="cmdk-title" aria-modal="true" class="box" role="dialog">
<div class="head">
<svg aria-hidden="true" height="18" viewbox="0 0 24 24" width="18">
<path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.08-1.56 4.21l4.92 4.92-1.41 1.41-4.92-4.92A6.474 6.474 0 0 1 9.5 16 6.5 6.5 0 1 1 9.5 3m0 2A4.5 4.5 0 1 0 14 9.5 4.5 4.5 0 0 0 9.5 5z" fill="currentColor">
</path>
</svg>
<input aria-label="瞬搜：输入曲名 / 标签 / 用途..." id="cmdk-input" placeholder="瞬搜：输入曲名 / 标签 / 用途..." type="text"/>
<span class="kbd">
      Esc
     </span>
</div>
<div aria-labelledby="cmdk-title" class="list" id="cmdk-list" role="listbox">
</div>
</div>
</div>
<section aria-label="音效快捷链接" class="section container sfx-link-bar">
<div class="sfx-link-bar__inner">
<span>
     需要音效？
    </span>
<a aria-label="前往音效库" class="btn link" href="sfx.html">
     前往音效库
    </a>
</div>
</section>
<footer>
<div class="container cols">
<div>
<img alt="logo" decoding="async" height="26" loading="lazy" src="assets/logo.svg" style="opacity:.7; margin-bottom:10px" width="26"/>
<div style="color:#c8d1df; font-weight:600; margin-bottom:8px">
      Ruotong Music
     </div>
<div style="max-width:420px">
      为创作者与品牌打造的商用音乐平台。5000 首精选 + 极速搜索 + 一键授权。
     </div>
</div>
<div>
<h4>
      产品
     </h4>
<a href="index-v2.html">
      音乐
     </a>
<a href="sfx.html">
      音效
     </a>
<a href="collections.html">
      合集
     </a>
<a href="pricing.html">
      价格
     </a>
</div>
<div>
<h4>
      支持
     </h4>
<a href="support.html">
      帮助中心
     </a>
<a href="policy/v2/legal/index.html">
      授权条款
     </a>
<a href="policy/v2/privacy-security/index.html">
      隐私与安全
     </a>
</div>
<div>
<h4>
      公司
     </h4>
<a href="about.html">
      关于我们
     </a>
<a href="business.html">
      商务合作
     </a>
</div>
</div>
</footer>
<script defer="" nonce="PTmeLkKzqoeoT9hZKU_mwA">
   // 小白提示：把下行改成 true 才会启用“监听新建 Audio 实例”的猴子补丁（多数场景不需要）
    const ENABLE_AUDIO_MONKEY_PATCH = false;

    if (ENABLE_AUDIO_MONKEY_PATCH && 'Audio' in window) {
      (function () {
        'use strict';
        const NativeAudio = window.Audio;
        const created = [];
        window.__rt_getAudioEls = () => created.slice(); // 返回副本，防止外部改动
        window.Audio = function (...args) {
          const el = new NativeAudio(...args);
          try { created.push(el); } catch (e) { /* 忽略 */ }
          return el;
        };
        try { Object.assign(window.Audio, NativeAudio); } catch (e) { /* 忽略 */ }
        window.Audio.prototype = NativeAudio.prototype;
      })();
    }
  </script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="js/app.js" defer>
</script>
<script crossorigin="anonymous" nonce="PTmeLkKzqoeoT9hZKU_mwA" src="https://unpkg.com/wavesurfer.js@7/dist/wavesurfer.min.js" defer>
</script>
<script crossorigin="anonymous" nonce="PTmeLkKzqoeoT9hZKU_mwA" src="https://unpkg.com/wavesurfer.js@7/dist/plugins/timeline.min.js" defer>
</script>
<script crossorigin="anonymous" nonce="PTmeLkKzqoeoT9hZKU_mwA" src="https://unpkg.com/wavesurfer.js@7/dist/plugins/hover.min.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="js/wavesurfer-player.js" defer>
</script>
<script defer="" nonce="PTmeLkKzqoeoT9hZKU_mwA">
   (function () {
      'use strict';

      // 工具：安全查询（减少 querySelector 抛错）
      const $ = (sel, root = document) => root.querySelector(sel);
      const $$ = (sel, root = document) => Array.from(root.querySelectorAll(sel));

      // 1) 命令盘：点击 .kbd 或按下 Ctrl/Cmd+K 打开，Esc 关闭
      const cmdk = $('.cmdk');
      const cmdkInput = $('#cmdk-input');
      const openCmdk = () => { if (cmdk) { cmdk.setAttribute('aria-hidden', 'false'); cmdkInput && cmdkInput.focus(); } };
      const closeCmdk = () => { if (cmdk) cmdk.setAttribute('aria-hidden', 'true'); };

      $$('.kbd').forEach(k => {
        k.addEventListener('click', openCmdk);
        k.addEventListener('keydown', (e) => {
          if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); openCmdk(); }
        });
      });

      document.addEventListener('keydown', (e) => {
        // Ctrl/Cmd + K
        if ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() === 'k') {
          e.preventDefault(); openCmdk();
        }
        // Esc
        if (e.key === 'Escape') closeCmdk();
      }, { passive: true });

      // 2) 主题切换：同步到 data-theme 与 localStorage；切换图标显隐
      const themeBtn = $('#theme-toggle');
      const sun = themeBtn && themeBtn.querySelector('.sun');
      const moon = themeBtn && themeBtn.querySelector('.moon');

      const applyTheme = (t) => {
        document.documentElement.dataset.theme = t;
        localStorage.setItem('theme', t);
        if (sun && moon) {
          const isDark = (t === 'dark');
          sun.style.display = isDark ? 'none' : '';
          moon.style.display = isDark ? '' : 'none';
          themeBtn.setAttribute('aria-pressed', String(isDark));
        }
      };

      if (themeBtn) {
        // 首次同步一次图标状态（点击由 app.js 统一处理）
        applyTheme(document.documentElement.dataset.theme || 'light');
      }

      // 3) Toggle 类按钮（chips、pill）维护 aria-pressed
      $$('.chip, .pill').forEach(btn => {
        btn.addEventListener('click', () => {
          const current = btn.getAttribute('aria-pressed') === 'true';
          btn.setAttribute('aria-pressed', String(!current));
        });
      });

      // 4) 简单的可访问性增强：给 aria-haspopup 的伪“选择器”添加键盘处理
      $$('.select[role="button"]').forEach(sel => {
        sel.tabIndex = 0;
        sel.addEventListener('keydown', (e) => {
          if (e.key === 'Enter' || e.key === ' ') {
            e.preventDefault();
            const expanded = sel.getAttribute('aria-expanded') === 'true';
            sel.setAttribute('aria-expanded', String(!expanded));
            // 这里可触发展开下拉逻辑（交由你的 js/app.js 具体实现）
          }
        });
      });
    })();
  </script>
<div aria-hidden="true" aria-labelledby="lm-title" aria-modal="true" class="modal" id="license-modal" role="dialog">
<div class="backdrop" data-close="">
</div>
<div class="box" tabindex="-1">
<button aria-label="关闭" class="close" data-close="" type="button">
     ✕
    </button>
<div class="header">
<div>
<div class="title" id="lm-title">
       确定授权类型
      </div>
<div class="crumbs">
<span id="lm-track-title">
        选中曲目
       </span>
       ·
       <span class="muted" id="lm-artist">
</span>
</div>
</div>
<a class="right-link" href="pricing.html" id="lm-sample" rel="noopener noreferrer" target="_blank">
      授权书范本
     </a>
</div>
<div class="body">
<nav aria-label="主导航" aria-orientation="vertical" class="tabs" role="tablist">
<button aria-selected="true" class="tab" data-plan="personal" role="tab" type="button">
       个人授权
      </button>
<button aria-selected="false" class="tab" data-plan="company" role="tab" type="button">
       企业授权
      </button>
<button aria-selected="false" class="tab" data-plan="company_plus" role="tab" type="button">
       企业PLUS授权
      </button>
<div class="hint">
       企业授权最高 6 折优惠
      </div>
</nav>
<section class="content">
<h4 id="lm-scope-title">
       个人授权范围
      </h4>
<ul class="scope" id="lm-scope-list">
<li class="ok">
<span class="dot">
         ✓
        </span>
<div class="desc">
         个人自媒体、短视频、直播、教程等
        </div>
</li>
<li class="ok">
<span class="dot">
         ✓
        </span>
<div class="desc">
         个人学习、交流、参赛、表演等音视频
        </div>
</li>
<li class="no">
<span class="dot">
         ✕
        </span>
<div class="desc">
         企业广告、宣传等推广音视频
        </div>
</li>
</ul>
</section>
</div>
<div class="footer">
<div class="assure">
<span class="icon">
       🛡️
      </span>
<span>
       50万保障金
      </span>
<span class="price">
<span id="lm-price">
        99
       </span>
<span style="font-size:14px; font-weight:600">
        元
       </span>
</span>
</div>
<div class="actions">
<button class="btn" id="lm-add-cart" type="button">
       加入购物车
      </button>
<button class="btn primary" id="lm-buy" type="button">
       立即购买
      </button>
</div>
</div>
</div>
</div>
<div aria-hidden="true" aria-labelledby="pay-title" aria-modal="true" class="modal" id="pay-modal" role="dialog">
<div class="backdrop" data-close="">
</div>
<div class="box" tabindex="-1">
<button aria-label="关闭" class="close" data-close="" type="button">
     ✕
    </button>
<div class="header">
<div class="title" id="pay-title">
      选择支付方式
     </div>
</div>
<div class="body">
<div class="pay-grid">
<button class="pay-btn" data-gw="paypal" type="button">
       PayPal
      </button>
<button class="pay-btn" data-gw="stripe" type="button">
       Stripe
      </button>
<button class="pay-btn" data-gw="wechat" type="button">
       微信支付 WeChat
      </button>
<button class="pay-btn" data-gw="alipay" type="button">
       支付宝 Alipay
      </button>
</div>
</div>
</div>
</div>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="config/payments.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="js/license-modal.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="js/auth.js" defer>
</script>
<noscript>
   为获得完整体验，请启用浏览器 JavaScript。
  </noscript>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="js/patch.sfx-home.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="js/rt-theme.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA">
   if('serviceWorker' in navigator){window.addEventListener('load',()=>{navigator.serviceWorker.register('/sw.js');});}
  </script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA">
   (function(){
    var form = document.getElementById('heroSearchForm');
    if(!form) return;
    form.addEventListener('submit', function(e){
      e.preventDefault();
      var q = (document.getElementById('heroSearchInput')||{}).value || '';
      q = q.trim();
      var url = 'search.html' + (q ? ('?q=' + encodeURIComponent(q)) : '');
      window.location.href = url;
    });
  })();
  </script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA">
   (function(){
  var form = document.getElementById('heroSearchForm');
  if(form){
    form.addEventListener('submit', function(e){
      e.preventDefault();
      var q = (document.getElementById('heroSearchInput')||{}).value || '';
      q = (q||'').trim();
      var url = 'search.html' + (q ? ('?q=' + encodeURIComponent(q)) : '');
      window.location.href = url;
    });
  }
  var hot = document.querySelector('.hero-hot');
  if(hot){
    hot.addEventListener('click', function(ev){
      var btn = ev.target.closest && ev.target.closest('.chip');
      if(!btn) return;
      var k = (btn.getAttribute('data-key') || btn.textContent || '').trim();
      if(!k) return;
      window.location.href='search.html?q=' + encodeURIComponent(k);
    });
  }
})();
  </script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="js/checkout-bridge.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="js/rt-color-summary-inject.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="js/rt-color-button-overlay.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="js/rt-color-actions.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="../contrast/contrast-theme.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="../contrast/contrast-palette-restore.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="../contrast/contrast-swatch-attr.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="../contrast/contrast-palette-even.js" defer>
</script>
<script nonce="PTmeLkKzqoeoT9hZKU_mwA" src="../contrast/contrast-palette-recent.js" defer>
</script>
<script src="js/a11y-and-motion.js" defer>
</script>

<!-- Ruotong Account Buttons (auto-wired) -->
<script>window.RUOTONG_API_BASE = window.RUOTONG_API_BASE || '/api';</script>
<link rel="stylesheet" href="/rt-assets/css/toast.css">
<link rel="stylesheet" href="/rt-assets/css/modal.css">
<script src="/rt-assets/js/toast.js" defer></script>
<script src="/rt-assets/js/modal.js" defer></script>
<script src="/rt-assets/js/account-actions.js" defer></script>


<script>
document.addEventListener('DOMContentLoaded', function(){
  try{ document.body.classList.add('rt-darkfix'); }catch(e){}
});
</script>

<script src="js/rt-favorites.js" defer></script>
</body>